Search systems can utilize a distributed system based architecture, in which multiple nodes (e.g., server systems) can index, and store, large quantities of information. For example, each node can store one or more shards of the information. These search systems can receive search requests from clients, and utilizing the distributed system based architecture, can quickly respond. The information can be indexed according to features of the information, which for example can be fields of defined types that include values related to the fields. An example field can be Age, and example values of the field can be ages of persons (e.g., 22, 25, 67). Information can optionally be separated into respective documents, with each document including one or more fields and one or more associated values.
To maintain search functionality, the information can be stored as plaintext (e.g., unencrypted). In the event of a security breach by an attacker, the attacker can therefore have direct access to the information. These search systems, though being quite fast and efficient at searching, may be inapplicable for access to sensitive or confidential information. For example, user information such as social security numbers, addresses, and so on, may benefit from being searchable, but the above-described search systems may not provide adequate assurances with respect to controlled access of the user information.